package org.jeecg.modules.miniAppCustomerEndPoint.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.miniAppCustomerEndPoint.entity.JxShoppingCartFoodDo;

public interface JxShoppingCartMapper extends BaseMapper<JxShoppingCartFoodDo> {

    /**
     * 将 del_flag 标记成 1， 标记删除购物车中的记录；购物车中的数据，有定时任务，周期性删除
     * @param dateFlag
     * @param siteId
     * @param userId
     * @param foodId
     * @return
     */
    int deleteShoppingCartByFlag(@Param("dateFlag") Integer dateFlag, @Param("siteId") String siteId,
                                 @Param("userId") String userId, @Param("foodId") String foodId, @Param("foodPrintName") String foodPrintName);

    /**
     * 当向购物车中添加菜品时，若某个菜品之前已经添加过了，此时只需要将表中，此菜品的count字段加1即可，count默认为1，为了后期可能扩展，添加此参数，可以添加多份
     * @param siteId
     * @param userId
     * @param foodId
     * @param cout
     * @return
     */
    int updateShoppingCartItemWhenAddOrRemoveFood(
            @Param("dateFlag") Integer dateFlag, @Param("siteId") String siteId, @Param("userId") String userId,
            @Param("foodId") String foodId, @Param("foodPrintName") String foodPrintName,
            @Param("count") Integer cout, @Param("totalSalePrice") Integer totalSalePrice);


    Integer deleteShoppingCartItemsByFlag(@Param("orderId") String orderId, @Param("ids") String ids);
}
